這陣子剛好在跟朋友討論測試的重要以及測試的種類與各種情境,剛好測試也是面試的問題基礎題,剛好趁著個機會整理一下吧~
透過測試可確定軟體的完整性
、正確性
、安全性
、效能
、品質
,對程式進行一系列規定後的操作,找出程式的錯誤與不適當處,避免於實際運行中產生不如預期的情況,並評估是否滿足現有需求、整體品質。
可靠性、穩定性、輕便性、易於維護、以及實用性
Alpha -> Beta & Gamma
階段性開發
後進行的測試,驗證功能是否正常,通常由內部(開發人員
或開發單位測試人員
)進行,持續到進入Beta階段。
Alpha結束後進入Beta階段,由外部人員(公眾)進行,又稱為確認測試
,在真實環境中以真實資料進行,進而確認整體完整性、穩定度
封測: 開發完至公開上市前的測試過程,著重於檢視程式功能
、偵錯
,少數人進行,
公測: 正式上市前的測試過程,開放給不特定
測試者,著重於穩定度
測試(壓力測試),也可作為行銷手法。
針對存在缺陷
的產品進行測試,但任何產品皆可視為存在缺陷,因此概念較為不確定。
也可稱作黑盒
測試,著重於程式的功能
,而非程式內部結構,測試者不需具備程式結構知識,只需依據規格、設計書...,驗證輸出結果。
也可稱作白盒測試
、透明盒測試
(glass box testing)、結構測試
(structural testing),著重於內部結構
,以程式角度設計測試案例,驗證資料流
。
效能測試: 測試不同情境下系統效能是否符合規範。
壓力測試: 超過
效能指標的測試。(設計容量為500人同時使用,壓力測試則以500+為測試案例)
壓力測試準則:
系統能夠恢復運作
測試過程中不能出現明顯效能下降,甚至當機
以最小單元
(函式)進行測試,並以不同的假資料模擬各種情境是否能正確回傳預期結果
、錯誤處理
。
基於可讀性
、可測試性
,通常由開發人員進行。
也可稱為綜合測試
、組裝測試
、聯合測試
,將各大模組、介面整合後,進行的正確性
測試,以模組
為單位。
包含功能測試
、介面測試
、可靠性測試
、易用性測試
、效能測試
,完整度最高的測試,測試系統整體可用性,以及各功能實現程度(業務邏輯、資料處理)。
進行於維護階段
,用於測試修改程式後
產生的錯誤,在此階段測試者應有一個完整的測試案例集,因重複性高,牽涉自動化測試、物件導向回歸測試、優先級...議題與工具。
有錯誤請不吝指教!
參考資料
https://zh.wikipedia.org/wiki/%E8%BD%AF%E4%BB%B6%E6%B5%8B%E8%AF%95
http://todomato.blogspot.com/2017/01/testing.html
https://sites.google.com/site/nutncsie10412/ge-ren-jian-jie/bai-xiang-yu-hei-xiang-ce-shi
感謝各路大神